#ifndef SCENE_H
#define SCENE_H
#include <QByteArray>
#include <QList>
#include <QFileInfo>
#include "Actor.hpp"
#include <QMap>
typedef QList<QByteArray> ByteArrayList;
typedef QMap<QByteArray,QByteArray> SceneEntries;
/**
*   \class Scene
*   \short A container for actors and information.
*   Instantiating the scene attempts to load a scene file and parse the basig information.  Actual data is not
    loaded until Load() is called
*/
class Scene {
public:
    Scene(const QByteArray &sceneName);

    ByteArrayList getNextScenes() const;
    ActorList getActors() const;
    bool preload(); // reads the sections out of the file &tc.
    bool load(); // open the file and load.
private:
    QFileInfo fileName;
    bool loaded;
    ActorList actors;

    // from file parsing
    bool hasSceneSection, hasActorSection;
    SceneEntries sceneInfo;
    ByteArrayList actorNames;
};

#endif
